Software defined networking (SDN) decouples traffic management (i.e., the control plane) from traffic forwarding (i.e., the data plane). In the control plane, SDN manages the network resources (e.g., how to use them) and the control network traffic flows (e.g., where to send them) jointly by a central SDN controller. Traffic flows have diversified Quality of Experience (QoE) and Quality of Service (QoS) requirements (e.g., rate, delay, delay jitter, outage, buffering time, etc.), depending on their nature (e.g., video) and/or application (e.g., video conferencing or downloading, etc.). The SDN controller has the responsibility to engineer traffic, that is, to plan routes for traffic flows and allocate resources (e.g., capacity, spectrum, power, etc.) along the routes, jointly so that their QoE/S requirements are met efficiently and effectively. This is normally an optimization problem.